КОНКУРЕНТНЕ ВИКОНАННЯ МАШИННИХ ІНСТРУКЦІЙ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Лабораторна робота №3 КОНКУРЕНТНЕ ВИКОНАННЯ МАШИННИХ ІНСТРУКЦІЙ Мета: дослідження конкурентного виконання машинних інструкцій Ми дозволимо випускати на виконання інструкції рухомої коми зі сходинки ID тоді, коли це стає можливим. Така інструкція може продовжити виконання у власному конвеєрі виконання операції рухомої коми або призупинитися через неготовність її операндів. Обрана нами стратегія дозволяє продемонструвати переваги невпорядкованого завершення виконання (out-of-order completion), але вона також може спричинити небезпеку WAR конвеєрного виконання. Тут може допомогти техніка переназв регістрів (register renaming), яку треба досконально розуміти. Наприклад, таке може статися в наступному фрагменті коду: .text add.d f7,f7,f3 add.d f7,f7,f4 mul.d f4,f5,f6 ; WAR через спільний регістр f4 Коли випустити mul.d, тоді ця інструкція (за певних умов) «пережене» другу інструкцію add.d і першої запише до f4. Отже, mul.d мусимо затримати на ID. Structural hazards arise at the MEM stage bottleneck, as instructions attempt to exit more than one of the execute stage piplelines at the same time. Просте правило запобігання небезпек звучить так: довгі інструкції виконують першими. Нехай маємо фрагмент коду: ;*************************************** ;*** winMIPS64 //hazard3.s// ***** ;*** (c) 2003 CA226, DCU ***** ;*************************************** .text div.d f7,f9,f10 mul.d f2,f4,f3 sub.d f7,f7,f4 ld r1,78(r0) add.d f4,f5,f6 halt Результати його синтаксичного контролю. Pass 1 completed with 0 errors ;*************************************** ;*** winMIPS64 //hazard3.s// ***** ;*** (c) 2005 CA226, DCU ***** ;*************************************** 00000000 .text 00000000 462a49c3 div.d f7,f9,f10 00000004 46232082 mul.d f2,f4,f3 00000008 462439c1 sub.d f7,f7,f4 0000000c dc01004e ld r1,78(r0) 00000010 46262900 add.d f4,f5,f6 ; WAR on f4 00000014 04000000 halt Pass 2 completed with 0 errors Code Symbol Table Data Symbol Table  Рис. – Неконвеєрний повільний виконавчий вузол ділення з рухомою комою розпочав роботу першим  Рис. – Неконвеєрний виконавчий вузол ділення рухомої коми ( 24 такти затримки) завантажено  Рис. – Паралельно виконуються чотири інструкції (ясно, що з невпорядкованим завершенням)  Рис. – Паралельне виконання продовжується, сходинки МЕМ жодна інструкція ще не досягла  Рис. – Перша інструкція ділення ще виконується, а третя від кінця ld майже завершилася  Рис. – Невпорядковане (кажуть, хаотичне) завершення виконання інструкцій потоку  Рис. – sub.d має ту саму мету, що і div.d. Утворилася ситуація WAW, тому пригальмовані add.d та halt Рис. – Пригальмована на першій з чотирьох виконавчих сходинок sub.d гальмує наступнуза нею add.d hh  Рис. – Завершення div.d розблокувало конвеєр. На виконанні знаходяться віднімання і додавання  Рис. – Хаотично завершуються спочатку halt, потім рухомі віднімання та додавання  Рис. - Хаотичне завершення виконання інструкцій потоку (передтеча методу динамічного виконання)  Рис. – Програму виконано, отримано програмні статистики
Антиботан аватар за замовчуванням

30.04.2013 23:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини